home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
vrs501.zip
/
VRS-M7.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1996-10-08
|
5KB
|
233 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
;------------------------------------------------------------------------------
Goto LABEL001
End
If (0 == 0) STRING001 = "NO"
If (0 == 1) STRING001 = "YES"
EndFunc
:LABEL001
STRING002 = String(PcbNode())
If (PcbNode() == 0) STRING002 = "A"
STRING003 = GetEnv(STRING002 + "RECNO")
STRING003 = ToInteger(STRING003)
INTEGER001 = Random(9)
If (INTEGER001 == 0) INTEGER001 = 5
STRING010 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
DOpen 0, PPEPath() + "USER.DBF", 0
DGo 0, STRING003
:LABEL002
STRING004 = Trim(DGet(0, "HANDLE"), " ")
STRING005 = Trim(DGet(0, "HITPTS_B"), " ")
STRING006 = Trim(DGet(0, "HITPTS_L"), " ")
STRING007 = Trim(DGet(0, "CASH"), " ")
INTEGER004 = Trim(DGet(0, "INFECTED"), " ")
STRING008 = ToInteger(STRING005) - ToInteger(STRING006)
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1F Virtual Reality Soldier - @X1ARobotic Medic @POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1FThe robot medic whirs to life, you can feel the warm wash of it's @POS:79@@X19│@X0F"
PrintLn "@X10│@X1Fscanner bathing your body...@POS:79@@X19│@X0F"
PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
PrintLn "@X10│@X1F" + Mixed(STRING004) + "@X1B, you have@X1C ", STRING008, "@X1B points of damage.@POS:79@@X19│@X0F"
PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
If (INTEGER004 >= 1) PrintLn "@X10│@X1BYou also have a@X1C ", INTEGER004, "%@X1B mutation infection level! Get a shot for that.@POS:79@@X19│@X0F"
If (ToInteger(STRING005) == ToInteger(STRING006)) Then
PrintLn "@X10│@X1F @POS:79@@X19│@X0F"
If (INTEGER004 >= 1) PrintLn "@X10│@X1B (I)nfection Cure:@X1A 50 @X1C Total Credits:@X1A ", STRING007, "@POS:79@@X19│@X0F"
PrintLn "@X10│ @X1A(@X1DQ@X1A)@X12uit to Top Level @POS:79@@X19│@X0F"
Else
PrintLn "@X10│@X1A(@X1DH@X1A)@X12eal all possible @X1A(@X1DC@X1A)@X12ertain amount healed @POS:79@@X19│@X0F"
If (INTEGER004 >= 1) PrintLn "@X10│@X1F@X1A(@X1DI@X1A)@X12nfection cure @POS:79@@X19│@X0F"
PrintLn "@X10│@X1F@X1A(@X1DQ@X1A)@X12uit to Top Level @POS:79@@X19│@X0F"
If (INTEGER004 >= 1) PrintLn "@X10│@X1A(@X1DI@X1A)@X12nfection Cure @X1E:@X1A 50 @X1CTotal Credits @X1E:@X1A ", STRING007, "@POS:79@@X19│@X0F"
PrintLn "@X10│@X14Each Hit Point Healed @X1E: @X1A", INTEGER001, " You need to spend : ", INTEGER001 * ToInteger(STRING008), "@POS:79@@X19│@X0F"
If (ToInteger(STRING007) < INTEGER001 * ToInteger(STRING008)) Then
PrintLn "@X10│ @X1CYou do not have the credits to fully heal yourself!@POS:79@@X19│@X0F"
Endif
Endif
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
Newline
InputStr " @X0EYour choice Soldier @X0A> _", STRING009, 10, 1, "IHCQ", 0 + 8
If (STRING009 == "") Goto LABEL007
If (STRING009 == "Q") Goto LABEL007
If (STRING009 == "H") Goto LABEL003
If (STRING009 == "C") Goto LABEL004
If (STRING009 == "I") Goto LABEL006
:LABEL003
INTEGER003 = INTEGER001 * ToInteger(STRING008)
While (INTEGER003 > ToInteger(STRING007)) Do
INTEGER003 = INTEGER003 - INTEGER001
EndWhile
INTEGER002 = INTEGER003 / INTEGER001
STRING007 = ToInteger(STRING007) - INTEGER003
STRING006 = ToInteger(STRING006) + INTEGER002
Backup 80
ClrEol
PrintLn "@X0CWell, We were able to heal @X0E", INTEGER002, "@X0C hit-points. Be careful out there!@X0F"
Newline
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL005
:LABEL004
INTEGER003 = INTEGER001 * STRING008
While (INTEGER003 > ToInteger(STRING007)) Do
INTEGER003 = INTEGER003 - INTEGER001
EndWhile
STRING009 = ""
Backup 80
ClrEol
InputStr " @X0EHow many credits to spend @X0A(@X0DQ@X0A)@X0Euit @X0A> _", STRING009, 10, 10, "1234567890Q", 0 + 8
If ((STRING009 == "Q") || (STRING009 == "")) Goto LABEL002
If (ToInteger(STRING009) > ToInteger(STRING007)) Then
Backup 80
ClrEol
Print "@X0CHey! You don't have that many credits! Don't screw with your doctor!@X0F"
Newline
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL004
Endif
If (ToInteger(STRING009) > INTEGER003) Then
Backup 80
ClrEol
Print "@X0CNo over medication here! Try fewer credits neXt time!@X0F"
Newline
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL004
Endif
INTEGER002 = ToInteger(STRING009 / INTEGER001)
STRING007 = ToInteger(STRING007) - STRING009
STRING006 = ToInteger(STRING006) + INTEGER002
Backup 80
ClrEol
PrintLn "@X0CWell, We were able to heal @X0E", INTEGER002, "@X0C hit-points. Be careful out there!@X0F"
PrintLn
Call PPEPath() + "VRS-M19.PPE"
:LABEL005
DPut 0, "HITPTS_L", STRING006
DPut 0, "CASH", STRING007
:LABEL006
If (ToInteger(STRING007) < 50) Then
Backup 80
ClrEol
PrintLn " @X8CYou do not have the credits for the booster shot!@X0F"
Newline
Call PPEPath() + "VRS-M19.PPE"
Goto LABEL002
Endif
DPut 0, "INFECTED", 0
DPut 0, "CASH", STRING007 - 50
Backup 80
ClrEol
PrintLn "@X0CYou got your booster, don't wait so long next time!@X0F"
Newline
Call PPEPath() + "VRS-M19.PPE"
:LABEL007
DCloseAll
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 7 ClrEol
; 22 Goto
; 26 Let
; 2 Print
; 25 PrintLn
; 21 If
; 2 InputStr
; 1 Return
; 6 Newline
; 6 Call
; 7 Backup
; 1 EndFunc
; 1 DOpen
; 1 DCloseAll
; 1 DGo
; 4 DPut
;
;
; ■ Functions used :
;
; 4 *
; 2 /
; 14 +
; 6 -
; 12 ==
; 2 <
; 4 >
; 4 >=
; 7 !
; 1 ||
; 5 Trim()
; 1 Random()
; 1 String()
; 7 PPEPath()
; 2 PcbNode()
; 1 GetEnv()
; 20 ToInteger()
; 1 Mixed()
; 5 DGet()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 2 While/EndWhile
; 5 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------